In order to prevent a perception gap in service quality of a computer system between a customer and a provider, when the computer system is developed, a target value (SLO: Service Level Object) of service quality to non-functional requirements such as performance, availability, and the like is usually set in advance between the customer and the provider.
Performance is one of the typical non-functional requirements. For example, in the SLO to define the performance, it is defined that the maximum throughput indicating the processing ability of the system, the turnaround time indicating a time span between a start time and an end time of a predetermined process, and the usage rate of various resources such as a CPU (Central Processing Unit), a thread, and the like should be within a permissible range.
Usually, in order to achieve a design (capacity planning) of the system configuration in which such SLO is taken into consideration, knowledge based on the experience of the expert in the technical field concerned or the like is used. The system configuration which satisfies the condition of the required performance and availability is selected. Namely, a combination of the controllable design parameters is selected.
However, because a lot of the design parameters to be determined exist, it takes a lot of trouble to determine the appropriate combination without using a computer. Further, there are a plurality of configurations which can achieve the SLO and guarantee the service quality. However, it takes much time and manpower to select the most suitable combination by which the price can be made lowest among the plurality of configurations.
Therefore, it is required to efficiently derive the combination of the design parameters by which all the SLOs are achieved and the price is made lowest by automating the process to determine such system configuration.
Here, such problem can be formulated as the so-called combination optimization problem which determines a value of each control variable so that the given constraint condition is satisfied and the highest evaluation is obtained when a predetermined evaluation standard is used.
As a publicly-known technology to solve this kind of optimization problem, in patent literature 1 shown below, the system configuration is represented by a plurality of parameters (a parameter set). It shows a technology in which the system configuration whose price is lowest is automatically derived under a predetermined constraint condition related to a response time. More specifically, it shows the technology in which the response time of the system is predicted on the basis of the queuing theory and the optimal point satisfying the constraint condition is obtained by successive approximation using Lagrange's method of undetermined multipliers and Newton's method.
Further, patent literature 2 shows a technology below. An increment of a load is calculated when a multiplicity of processing is increased on the basis of load information of resources such as a CPU and the like that is collected for each business application executed on a server. Then, the most suitable multiplicity of the processing is determined so that an amount of the load to all the resources is equal to or lower than an upper limit value set in advance.
Further, patent literature 3 shows a technology below. A resource usage amount is allocated to each component of a development target system in a range of a determined allocation ratio, system performance, when a plurality of transactions are simultaneously executed, is predicted. The resource usage amount is repeatedly reallocated when a prediction result shows that the required performance is not met until it is met, and whereby, the resource usage amount of each component that is required for meeting the performance requirement is explored.